﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace FANUC.DTO
{
    /// <summary>
    /// 工厂所有机器人的当天实时的总加工数
    /// </summary>
    public class TodayAllRobotsOutputsDtoOutput
    {
        public DateTime Date { get; set; }
        public int OutputsQuantity { get; set; }
    }
    /// <summary>
    /// 工厂所有机器人当天实时的开动率
    /// </summary>
    public class TodayAllRobotsRunningRatioDtoOutput
    {
        public DateTime Date { get; set; }
        public decimal RunningRatio { get; set; }
        public decimal StopRatio { get; set; }
    }
    /// <summary>
    /// 所有机器人当天的运行状态饼图
    /// </summary>
    public class TodayAllRobotsStateDistributionDtoOutput
    {
        public DateTime Date { get; set; }
        public decimal RunningtRatio { get; set; }
        public decimal PowerOffRatio { get; set; }
        public decimal FaultRatio { get; set; }
        public decimal ReadyRatio { get; set; }
    }
    /// <summary>
    /// 工厂所有机器人Alarm类型分布饼图
    /// </summary>
    public class TodayAllRobotsAlarmDistributionDtoOutput
    {
        public DateTime Date { get; set; }
        public List<AlarmSliceDto> SlicesInfo { get; set; }
    }
    /// <summary>
    /// 工厂所有机器人生产产品类型分布饼图
    /// </summary>
    public class TodayAllRobotsOutputsByPartNumberDistributionDtoOutput
    {
        public DateTime Date { get; set; }
        public List<TodayAllRobotsOutputsByPartNumberDistributionSliceDto> SlicesInfo { get; set; }
    }
    public class TodayAllRobotsOutputsPerHourBarChartDtoOutput
    {
        public DateTime Date { get; set; }
        public List<decimal> SlicesInfo { get; set; }
    }
    /// <summary>
    /// 所有机器人当天每小时的总加工量按PN趋势柱状图
    /// </summary>
    public class TodayAllRobotsOutputsPerHourByPartNumberBarChartDtoOutput
    {
        public DateTime Date { get; set; }
        public List<TodayAllRobotsOutputsPerHourByPartNumberBarDto> SlicesInfo { get; set; }
    }
    /// <summary>
    /// 所有机器人前7天每天的总加工量趋势柱状图
    /// </summary>
    public class SevenDaysAllRobotsOutputsBarDtoOutput
    {
        public List<string> XAxisTitle { get; set; }
        public List<decimal> Data { get; set; }
    }
    public class SevenDaysRobotOutputsBarDtoOutput
    {
        public List<string> XAxisTitle { get; set; }
        public List<decimal> Data { get; set; }
    }
    /// <summary>
    /// 所有机器人当天每小时停机总量趋势柱状图
    /// </summary>
    public class TodayAllRobotsStopTotalMinitesByHoursBarDtoOutput
    {
        public DateTime Date { get; set; }
        public List<decimal> BarsInfo { get; set; }
    }
    public class TodayRobotStopTotalMinitesByHoursBarDtoOutput
    {
        public DateTime Date { get; set; }
        public List<decimal> BarsInfo { get; set; }
    }

    public class AllRobotsStopHourDto
    {
        public int Hour { get; set; }
        public decimal TotalMinutes { get; set; }
        public decimal StopInHourRatio { get; set; }
    }


    public class TodayAllRobotsOutputsByPartNumberDistributionSliceDto
    {
        public string PartNumber { get; set; }
        public decimal Ratio { get; set; }
        public int Quantity { get; set; }
    }

    public class TodayAllRobotsOutputsPerHourByPartNumberBarDto
    {
        public int Hour { get; set; }
        public List<TodayAllRobotsOutputsPerHourByPartNumberSliceDto> PartsOutput { get; set; }

    }
    public class TodayAllRobotsOutputsPerHourByPartNumberSliceDto
    {
        public string PartNumber { get; set; }
        public int OutputQuantity { get; set; }
        public decimal Ratio { get; set; }
    }

    public class AlarmSliceDto
    {
        public string AlarmCode { get; set; }
        public string AlarmSeverity { get; set; }
        public decimal Ratio { get; set; }
        public decimal Quantity { get; set; }
    }

    public class TodayRobotRunningRatioDtoOutput
    {
        public DateTime Date { get; set; }
        public string RobotID { get; set; }
        public decimal RunningRatio { get; set; }
        public decimal StopRatio { get; set; }
    }



    public class TodayRobotStateDistributionDtoOutput
    {
        public string RobotID { get; set; }
        public DateTime Date { get; set; }
        public decimal RunningtRatio { get; set; }
        public decimal PowerOffRatio { get; set; }
        public decimal FaultRatio { get; set; }
        public decimal ReadyRatio { get; set; }
    }

    public class TodayRobotOutputsDtoOutput
    {
        public DateTime Date { get; set; }
        public string RobotID { get; set; }
        public int OutputsQuantity { get; set; }
    }
    public class TodayRobotOutputsByPartsDtoOutput
    {
        public DateTime Date { get; set; }
        public int RobotID { get; set; }
        public List<TodayRobotOutputsByPartsSliceDto> SlicesInfo { get; set; }
    }
    public class TodayRobotOutputsByPartsSliceDto
    {
        public string PartNumber { get; set; }
        public decimal Ratio { get; set; }
        public int Quantity { get; set; }
    }
    public class TodayRobotAlarmDistributionDtoOutput
    {
        public DateTime Date { get; set; }
        public int RobotID { get; set; }
        public List<AlarmSliceDto> SlicesInfo { get; set; }
    }
    public class TodayRobotOutputsPerHourBarChartDtoOutput
    {
        public DateTime Date { get; set; }
        public List<decimal> SlicesInfo { get; set; }
    }
}